package com.sjd.mall.domain.dto.order;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.sjd.common.annotation.Excel;
import com.sjd.mall.domain.dto.base.BaseGoodsVO;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * WebOrderQry
 *
 * @author seer
 * @version 1.0
 * @date 2022/1/20 15:54
 */
@Data
public class WebOrderQryResponseDTO {

    /**
     * 主键
     */
    @Excel(name = "主键")
    private Long id;

    /**
     * 订单号
     */
    @Excel(name = "订单号")
    private String orderNo;

    /**
     * 订单状态
     */
    @Excel(name = "订单状态")
    private Integer orderStatus;

    /**
     * 订单状态
     */
    @Excel(name = "订单状态")
    private String orderStatusLabel;

    /**
     * 会员手机号
     */
    @Excel(name = "会员手机号")
    private String memberMobile;

    /**
     * 订单金额
     */
    @Excel(name = "订单金额")
    private BigDecimal orderAmount;

    /**
     * 下单时间
     */
    @Excel(name = "下单时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime orderTime;

    /**
     * 折扣金额
     */
    @Excel(name = "折扣金额")
    private BigDecimal discountAmount;

    /**
     * 应付金额
     */
    @Excel(name = "应付金额")
    private BigDecimal payableAmount;

    /**
     * 实付金额
     */
    @Excel(name = "实付金额")
    private BigDecimal paymentAmount;

    /**
     * 支付时间
     */
    @Excel(name = "支付时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime paymentTime;

    /**
     * 收件人姓名
     */
    @Excel(name = "收件人姓名")
    private String receiverName;

    /**
     * 收件人手机
     */
    @Excel(name = "收件人手机")
    private String receiverMobile;

    /**
     * 收件人地址
     */
    @Excel(name = "收件人地址")
    private String receiverAddress;

    /**
     * 发货时间
     */
    @Excel(name = "发货时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime deliverTime;

    /**
     * 快递公司
     */
    @Excel(name = "快递公司")
    private String courierCompanyLabel;

    /**
     * 快递单号
     */
    @Excel(name = "快递单号")
    private String courierNo;

    /**
     * 收货时间
     */
    @Excel(name = "收货时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime receiptTime;

    /**
     * 退款时间
     */
    @Excel(name = "退款时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime refundTime;

    /**
     * 取消时间
     */
    @Excel(name = "取消时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime cancelTime;

    /**
     * 商品条目
     */
    private List<BaseGoodsVO> goodsItems;
}
